package chain_of_responsibility_pattern;

/**
 * @author 申书航
 * @version 1.0
 *
 * 这类代表了一个兽人国王，其负责处理请求的责任链。
 */
public class OrcKing {

    private RequestHandler chain;

    /**
     * 构建请求处理链。
     */
    private void buildChain() {
        chain = new OrcCommander(new OrcOfficer(new OrcSoldier(null)));
    }

    /**
     * 构造函数，初始化请求处理链。
     */
    public OrcKing() {
        buildChain();
    }

    /**
     * 接收请求并通过责任链处理请求。
     *
     * @param req 请求对象
     */
    public void makeRequest(Request req) {
        chain.handleRequest(req);
    }
}
